// * before(num,fn)接受两个参数，第一个参数是数字，第二个参数是函数，
// * 调用before函数num次数以内，返回与fn执行相同的结果，超过num次数返回最后一次fn的执行结果。考闭包的使用


function before(num,fn) {
    let res
    let count = 0
    return function (...args) {
        count++
        //? 到达次数直接返回
        if (count > num) {
            return res
        }
        //? 更新
        res = fn(...args)
        return res
    }
}
let func = before(3,(a, b) => a + b)
console.log(func(1, 2)); // 3
console.log(func(2, 3)); // 5
console.log(func(1, 6)); // 7
// 此时已经超过了次数 故结果为7
console.log(func(1, 8)); // 7
console.log(func(1, 8)); // 7
